public class LuomaShuZi {
    public static void main(String[] args) {
        int res = romanToInt("XVII");
        System.out.println(res);
    }
    public static int romanToInt(String s){
        int sum = 0;
        int preNum = getValue(s.charAt(0)); // 第一个值

        for (int i=1; i<s.length(); i++){
            int num = getValue(s.charAt(i)); // 后者值
            if (preNum < num){ // 前者值 < 后者值
                sum = sum - preNum; // 少去的值
            }else{ // preNum > num (VI) preNum = num (II)
                sum = sum + preNum; // 多出的值
            }
            // 防止preNum永远为字符串第一个值，每轮循环preNum都要改变
            preNum = num; // preNum为当前num值得前一个值
        }
        sum = preNum + sum; // 当前者比后者大，sum值大，preNum值小
        return sum;
    }

    private static int getValue(char ch) {
        switch (ch){
            case 'I':
                return 1;
            case 'V':
                return 5;
            case 'X':
                return 10;
            case 'L':
                return 50;
            case 'C':
                return 100;
            case 'D':
                return 500;
            case 'M':
                return 1000;
            default:
                return 0;
        }

    }
}
